package com.xuxin.baby.contract;

import com.xuxin.baby.bean.BannerBean;
import com.xuxin.baby.bean.ChildGreatBean;
import com.xuxin.baby.bean.DoctorBean;
import com.xuxin.baby.bean.ReaderVideoBean;
import com.xuxin.baby.bean.UserChildBean;
import com.xuxin.baby.presenter.MainPresenter;

/**
 * Created by xu_xin
 * Created on 2020/10/01 0022
 * 首页
 */
public interface MainContract {

    interface Model {

        void getUserChild(MainPresenter presenter, String tenantId, String token, String memberId);

        void getBanner(MainPresenter presenter, String tenantId, String token);

        void getChildGreat(MainPresenter presenter, String tenantId, String token, String childId, String eventType, int skipCount);

        void getTips(MainPresenter presenter,
                     String tenantId,
                     String token,
                     String categoryId);

        void getVideo(MainPresenter presenter,
                      String tenantId,
                      String token,
                      String categoryId,
                      String ageRge);

        void getReader(MainPresenter presenter,
                       String tenantId,
                       String token,
                       String categoryId,
                       String ageRge);

        void getDoctor(MainPresenter presenter,
                       String tenantId,
                       String token,
                       int skipCount);

        void updateCity(MainPresenter presenter,
                        String tenantId,
                        String token,
                        String memberId,
                        String city);
    }

    interface View extends BaseContract.view {

        void onSuccess(UserChildBean userChildBean);

        void onSuccess(BannerBean bannerBean);

        void onSuccess(ChildGreatBean childGreatBean);

        void onSuccessTips(ReaderVideoBean readerVideoBean);

        void onSuccessVideo(ReaderVideoBean readerVideoBean);

        void onSuccessReader(ReaderVideoBean readerVideoBean);

        void onSuccess(DoctorBean doctorBean);
    }

    interface Presenter extends BaseContract.presenter {

        void getUserChild(String tenantId, String token, String memberId);

        void getBanner(String tenantId, String token);

        void getChildGreat(String tenantId, String token, String childId, String eventType, int skipCount);

        void getTips(String tenantId,
                     String token,
                     String categoryId);

        void getVideo(String tenantId,
                      String token,
                      String categoryId,
                      String ageRge);

        void getReader(String tenantId,
                       String token,
                       String categoryId,
                       String ageRge);

        void getDoctor(String tenantId,
                       String token,
                       int skipCount);

        void updateCity(String tenantId,
                        String token,
                        String memberId,
                        String city);

        void onSuccess(UserChildBean userChildBean);

        void onSuccess(BannerBean bannerBean);

        void onSuccess(ChildGreatBean childGreatBean);

        void onSuccessTips(ReaderVideoBean readerVideoBean);

        void onSuccessVideo(ReaderVideoBean readerVideoBean);

        void onSuccessReader(ReaderVideoBean readerVideoBean);

        void onSuccess(DoctorBean doctorBean);
    }
}